The present invention relates to communications networks. More specifically, it relates to a method and system for delay detection and echo cancellation.
The central offices of Public Switched Telephone Networks employ network hybrids to interface analog subscribers to the local exchange. Typically, a 2-wire full-duplex line connects the subscriber to the central office while the network hybrid provides an interface to the two 2-wire simplex digital transmission network. In this way, data are transmitted to and received from other subscribers who are connected via a 2-wire line to the digital transmission network by another hybrid at the local exchange.
As is known in the art, echo cancellation is often discussed with reference to speech signal communication between a xe2x80x9cnear endxe2x80x9d and axe2x80x9cfar endxe2x80x9d and vice versa. A person speaking at the xe2x80x9cfar endxe2x80x9d of a telephone connection has her speech sent over the digital transmission network to a person listening (and eventually speaking) at the xe2x80x9cnear end.xe2x80x9d A portion of the speech signal that is transmitted from the far end speaker xe2x80x9cechoesxe2x80x9d off of the network hybrid that is farther away from the far end speaker and closer to the person located at the near end (the near end speaker). In this way, the xe2x80x9cnear endxe2x80x9d hybrid creates an unwanted signal echo of the transmitted far end speech signal and sends it back toward the far end, only to be heard by the far end speaker as an annoying echo of her own voice.
As is known in the art, network echo canceller circuitry is located at both network hybrids (one at the xe2x80x9cfar end,xe2x80x9d and one at the xe2x80x9cnear endxe2x80x9d). In the case of far end speaker echo, that is, the echo of a transmitted far end speech signal back to the far end, a network echo canceller at the near end network hybrid (the hybrid closest to the near end speaker) is used to cancel the echo. The echo canceller at the near end generates a local replica of the echo generated by the far end signal as it passes through an echo path, or echo channel at the near end. This local replica of the echo is generated and used by the echo canceller to attempt to cancel the echo before it returns to the far end speaker. The echo path or channel is the entire path traveled by the transmitted far end signal as it leaves the echo canceller, as a portion of it echoes off of the near end hybrid, and as its echo returns back to the echo canceller. In particular, the echo path represents the outgoing and incoming digital transmission lines as well as the near end network hybrid (the one closest to the near end speaker, and distant from the far end speaker).
Similarly, in the case of echo from the near end speaker, that is, the echo of a transmitted near end speech signal back to the near end, a network echo canceller at the far end network hybrid (the hybrid closest to the far end speaker) cancels the echo that is generated from a portion of the near end speech signal echoing off of the opposite hybrid (the far end hybrid) and that returns toward the network hybrid closest to the near end (the near end hybrid).
A typical network echo canceller employs an adaptive digital transversal filter to model the impulse response of the unknown echo channel so that the echo signal can be cancelled. The echo impulse response coefficients used in the transversal filter are updated to track the characteristics of the unknown echo channel. For reference purposes, network echo cancellers are examined from the point of view of the far end speaker, that is, these cancellers act to minimize far end echo.
Connections over the digital transmission network vary in terms of the distance traveled by the signals from near end to far end and vice versa. For example, relative to a far end speaker initiating a telephone call over the digital transmission network, the distant hybrid (at the near end) may be located anywhere from thirty-five or forty miles to thousands of miles away from the closer hybrid (at the far end). The speech signal sent by the far end speaker will encounter a xe2x80x9cround tripxe2x80x9d or xe2x80x9cflatxe2x80x9d delay in its path from the closer hybrid to the distant hybrid and back again as echo to the closer hybrid. Thus, the magnitude and duration of the flat or round trip delay is dependent on the distance traveled by the signals on a particular telephone call, with each telephone connection experiencing a different flat delay.
An additional issue is that the magnitude of duration of the flat delay may change during a single telephone call, especially in Voice over Internet Protocol (xe2x80x9cVoIPxe2x80x9d) applications and wireless systems. The existing echo cancellation systems employ different methods to detect the pure delay and to cancel the echo path. Further, the existing systems use an adaptive filter algorithm to model the entire echo channel characteristics including the trip delay portion (xe2x80x9cflatxe2x80x9d delay portion) of the entire echo path delay. Thus, using the existing methods, the echo cancellation performance such as a convergence rate is not efficient. Further, such methods are not cost efficient since memory usage and required computer speed are high.
Therefore, needed is a computationally efficient and easily implemented technique for an echo cancellation employing an adaptive digital filtering to cancel far end echo.
In accordance with preferred embodiments of the present invention, some of the problems associated with performing echo cancellation are addressed.
A method for canceling echo channel characteristics is developed. In one embodiment, the method includes receiving a far end signal with an echo, where an echo path has a major body portion and a pure delay portion. Once the far end signal with the echo is received, a filter having a finite length is applied to a portion of the echo path. In one embodiment, the length of the filter is substantially equal to a length of the major body of the echo path. Further, the method includes determining whether at least a portion of the major body is within the filter. In one embodiment, the filter includes a plurality of sub-windows, and the step of determining whether the portion of the major body is within the filter includes determining whether the portion of the echo major body is within a first sub-window of the filter.
According to an exemplary embodiment, the step of determining whether the portion of the echo major body is within the first sub-window includes: analyzing a filter coefficient vector associated with the first sub-window, determining a maximum absolute coefficient value in the first sub-window, and determining whether the maximum absolute coefficient value is greater than a threshold level. Further, the method includes shifting the filter if at least a portion of the major body of the echo path is not within the first sub-window. If the portion of the major body is within the first sub-window, the method includes canceling echo characteristics using a filter coefficient vector associated with the filter window.
The foregoing and other features and advantages of preferred embodiments of the present invention will be more readily apparent from the following detailed description, which proceeds with references to the accompanying drawings.